home *** CD-ROM | disk | FTP | other *** search
- //
- // float_array::operator[] that extends the array on
- // subscript out of bounds
- //
- float &float_array::operator[](size_t i)
- {
- if (i >= len)
- {
- float *new_array = new float[i + 1];
- assert(new_array != 0);
- size_t j;
- for (j = 0; j < len; ++j)
- new_array[j] = array[j];
- for (; j < i + 1; ++j)
- new_array[i] = 0;
- delete [] array;
- array = new_array;
- len = i + 1;
- }
- return array[i];
- }
-